package com.sophossystems.client.asmon.dao;

import com.sophossystems.client.asmon.dao.TipoPersonaDao;
import com.sophossystems.client.asmon.dto.TipoPersonaDTO;
import com.sophossystems.client.asmon.dto.TipoPersonaPkDTO;
import com.sophossystems.client.asmon.exceptions.DaoException;
import java.util.List;

public interface TipoPersonaDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return TipoPersonaPk
	 */
	public TipoPersonaPkDTO insert(TipoPersonaDTO dto);

	
	public TipoPersonaDTO findByPrimaryKey(final int idTipoCliente) throws DaoException;

	/** 
	 * Returns all rows from the TIPO_PERSONA table that match the criteria ''.
	 */
	public List<TipoPersonaDTO> findAll() throws DaoException;

	/** 
	 * Returns all rows from the TIPO_PERSONA table that match the criteria 'idTipoCliente = :idTipoCliente'.
	 */
	public List<TipoPersonaDTO> findWhereIdTipoClienteEquals( final int idTipoCliente) throws DaoException;

	/** 
	 * Returns all rows from the TIPO_PERSONA table that match the criteria 'descripcion = :descripcion'.
	 */
	public List<TipoPersonaDTO> findWhereDescripcionEquals(final String descripcion) throws DaoException;

	public TipoPersonaDTO findByPrimaryKey(TipoPersonaPkDTO pk) throws DaoException;

	public TipoPersonaPkDTO findLastInsert() throws DaoException;
}
